package com.chart.chart.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chart.chart.domian.ChartConfigs;
import com.chart.chart.domian.ChartConfigsAndViewsVo;
import com.chart.chart.domian.ChartConfigsUser;
import com.chart.chart.domian.req.UListReq;
import com.chart.chart.domian.vo.ChartConfigsUserVo;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.List;

/**
 * 用户 业务层
 *
 * @author ruoyi
 */
public interface IChartConfigsUserService extends IService<ChartConfigsUser> {
    List<ChartConfigsUserVo> getListWithOutValue(ChartConfigsUserVo chartConfigsUserVo);

    List<ChartConfigsAndViewsVo> getChartsAndViews(ChartConfigsUser configsUser);

    List<ChartConfigsAndViewsVo> getChartsAndViewsBathByFileIds(List<Long> ids);

    boolean scatterChartfigsUser(List<ChartConfigsUser> collect);

    List<ChartConfigsAndViewsVo> getChartsAndViewsBatch(ChartConfigsAndViewsVo chartConfigsAndViewsVo);

    List<ChartConfigsAndViewsVo> getInfoByName(ChartConfigsAndViewsVo chartConfigsAndViewsVo);

    List<ChartConfigsAndViewsVo> getFiles(ChartConfigsAndViewsVo chartConfigsAndViewsVo);

    boolean updateConfigTop(ChartConfigsUser chartConfigsUser);


    List<ChartConfigsUser> getUsersExcludingChartValue(Long userId, String chartName, String chartType, Long subjectId, Long configId, Long sortOrder);

    boolean updateHotById(Long id);


    ChartConfigsUser getOneByChartName(String chartName,Long userId);


    void updateRedisKey(Long id, String newRedisKey);

    List<ChartConfigsAndViewsVo> getFiles1(ChartConfigsAndViewsVo chartConfigsAndViewsVo);

    List<ChartConfigsAndViewsVo> getChartsAndViewsBatch1(ChartConfigsAndViewsVo chartConfigsAndViewsVo);

    List<ChartConfigsAndViewsVo> getInfoByName1(ChartConfigsAndViewsVo chartConfigsAndViewsVo);


    List<ChartConfigsUser> queryList(Long configId);


    List<ChartConfigsUserVo> querychartConfigCount(UListReq req);

    List<ChartConfigsUserVo> querychartConfigCount2(UListReq req);


    List<ChartConfigsUser> queryPhotosByUserId(Long userId);
}
